home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1994 November / macformat-018.iso / Utility Spectacular / Developer / CIncludesTool 1.0 / original version / source files / main.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-29  |  1.6 KB  |  87 lines  |  [TEXT/MPS ]

  1. /*  CIncludesCode - an MPW tool - by John Jeppson
  2.  
  3.     This tool should normally be called by CIncludesTool MPW Script
  4.     
  5.     See Instructions file for usage.
  6.  
  7. */
  8.  
  9.  
  10. #include "CIncludesCode.h"
  11.  
  12. Handle            database = 0;
  13. long            numFiles;
  14. dataHeaderType    dataHeader;
  15.  
  16. short validateArguments( int argc, char *argv[] )
  17. { // terminates tool if bad parameters
  18.  
  19.     switch ( argc )
  20.     {
  21.         case 1:
  22.         case 2:
  23.             exit( 1 );
  24.             break;
  25.             
  26.         case 3:
  27.             if ( strcmp( argv[1], "-v" ) == 0 )
  28.                 return 2;
  29.             if ( strcmp( argv[1], "-f" ) == 0 )
  30.                 return 3;
  31.             if ( strcmp( argv[1], "-i" ) == 0 )
  32.                 return 4;
  33.             if ( strcmp( argv[1], "-d" ) == 0 )   // Daniel Grassi
  34.                 return 5;
  35.             exit( 1 );
  36.             break;
  37.         
  38.         default:
  39.             if ( strcmp( argv[1], "-m" ) == 0 )
  40.                 return 1;
  41.             exit( 1 );
  42.             break;
  43.     }
  44. }
  45.  
  46.  
  47. int main ( int argc, char *argv[], char *envp[] )
  48. {
  49.     #pragma unused (envp)
  50.     char    s[64];
  51.     long    filePosition;
  52.  
  53.     switch ( validateArguments( argc, argv ) )
  54.     {
  55.         case 1:        // -m
  56.             return ( createDataBase( argc, argv ) );
  57.             break;
  58.         case 2:        // -v
  59.             return ( validate( argv[2] ) );
  60.             break;
  61.         case 3:        // -f
  62.             if ( !loadDatabase() )
  63.                 return( 3 );
  64.             if ( locateIdentifier( s, &filePosition, argv[2] ) )
  65.                 printf( "#include <%s>\n", s );
  66.             else
  67.                 return( 4 );
  68.             break;
  69.         case 4:        // -i
  70.             if ( !loadDatabase() )
  71.                 return( 3 );
  72.             return ( reformat( argv[2] ) );
  73.             break;
  74.         case 5:     // -d                // Daniel Grassi
  75.             if ( !loadDatabase() )
  76.                 return( 3 );
  77.             if ( locateIdentifier( s, &filePosition, argv[2] ) )
  78.                 printf( "\"%s\"  %d", s, filePosition );
  79.             else
  80.                 return( 4 );
  81.             break;
  82.     }
  83.  
  84.     return 0;
  85. }
  86.  
  87.